헤더 파일

최근 수정 시각: (5년 전)
목차
1. 개요2. 사용 방법3. 표준 라이브러리 목록
3.1. C
3.1.1. stdio.h3.1.2. time.h3.1.3. math.h3.1.4. stdlib.h3.1.5. string.h
3.2. C++
3.2.1. 기존의 C 표준 헤더(<c~>)3.2.2. iostream3.2.3. algorithm3.2.4. string

1. 개요 [편집]

C 언어C++에서 사용하는 일종의 레퍼런스. 주로 외부 소스 파일에 정의된 변수나 함수를 쓰기 위해 만들어졌다. 크게 컴파일러가 기본적으로 지원하는 표준 헤더와 사용자가 임의로 만든 사용자 헤더로 나눠진다.

2. 사용 방법 [편집]

보통 소스 파일 맨 윗줄에 표기함으로써 해당 해더파일에 들어있는 요소를 사용할 수 있다.
#include <표준 헤더 이름>
#include "사용자 정의 헤더 이름"

3. 표준 라이브러리 목록 [편집]

3.1. C [편집]

3.1.1. stdio.h [편집]

Standard Input Output, 즉 표준 입출력을 의미한다. studio가 아니다. C언어를 처음 접하는 사람들이 많이 실수하는 부분이다. 그런데 터보시에서는 스트림 I/O라고 언급됐는데, 그러면 D가 왜 있는지 알기 어렵긴 하다. 왜긴왜야 스튜디오 끼워맞춘거지

C언어의 표준 입/출력 헤더 파일로, printf나 scanf 처럼 콘솔 입/출력을 할 때, 외부 파일을 읽을 때 사용한다. 기초 프로그래밍 교육이 대부분 Hello World 출력부터 시작해, 대부분 CLI 환경을 다루는 것에 그친다는 것을 생각하면, C/C++을 배우면서 자주 보게 되는 헤더 파일이다.

3.1.2. time.h [편집]

시간 관련 부분함수 구조체를 담고있는 헤더로 시간관련 부분을 불러오거나 사용할 때 사용한다.

3.1.3. math.h [편집]

지수함수, 로그함수, 삼각함수, 거듭제곱 등 수학 관련 함수가 들어가 있다.

3.1.4. stdlib.h [편집]

문자열 변환, 의사 난수 생성, 동적 메모리 관리 등의 함수들을 포함하고 있다. 주로 프로그램 제어 관련 함수가 들어가 있다. 동적 메모리 할당 함수인 malloc, calloc 함수도 이 헤더에 포함되어 있으며, 시스템 명령어나 프로세스 제어 함수도 포함되어 있다.

원래는 itoa, atoi 함수도 있었으나 없어졌다.[1]

3.1.5. string.h [편집]

문자열(정확히는 문자 배열 - char* str 또는 char str[]) 관련 헤더이다.
  • strcat - 문자열 합치기
  • strcmp - 문자열 비교
  • strlen - 문자열 길이
  • strcpy - 문자열 복사

등의 함수가 있다.

참고 : https://ko.wikipedia.org/wiki/Stdlib.h

3.2. C++ [편집]

모든 C++의 표준 헤더 파일은 .h를 붙이지 않고도 include를 할 수 있다.

3.2.1. 기존의 C 표준 헤더(<c~>) [편집]

C 표준 헤더의 파일 이름에서 .h 부분을 제거하고 앞에 c를 붙여서 쓴다.
#include <cstdio>

3.2.2. iostream [편집]

C++ 전용 표준 입/출력 헤더 파일이다. C의 stdio.h의 printf, scanf와 대응되는 cout, cin 객체가 있다.

3.2.3. algorithm [편집]

C++ 전용 알고리즘 관련 헤더다. 두 변수의 최댓/최솟값을 고르는 max, min 함수와, 리스트나 배열을 정렬하는 sort 함수 등 알고리즘과 관련된 함수를 쓸 수 있다.

3.2.4. string [편집]

C 언어의 string.h처럼 문자열을 객체 단위로 다룰 수 있는 표준 헤더다. std::string으로 타입을 선언해 함수가 아닌 연산자(+, ==)만으로 문자열끼리 더하거나 비교할 수 있다.
[1] GCC에서는 소스 화일의 최상단에 #undef _NO_OLDNAMES#undef __STRICT_ANSI__를 넣으면 계속 사용할 수 있다.

라이선스를 별도로 명시하지 않은 문서는 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.

문서의 기여자는 역사 탭에서 확인할 수 있습니다.
접두어의 N: - 나무위키 사용자, R: - 리그베다 위키의 사용자를 뜻합니다.
자세한 사항은 나무위키에서 동일한 문서의 역사를 참고하시기 바랍니다.